本文共 3406 字,大约阅读时间需要 11 分钟。
用户登陆页面user_login.jsp对应action为login.do:
用户登陆
用户登陆类(UserLogin.java):
package com.web.struts.action;import javax.servlet.http.Cookie;import org.apache.commons.lang.StringUtils;import commodel.Member;import com.service.IMemberService;import com.tools.Constant;import com.tools.MD5Bean;/** * title:用户登陆 * * @author conkeyn * @时间 2009-3-24:上午10:06:25 */public class UserLogin extends BaseAction { /** */ private static final long serialVersionUID = -8059803575427183277L; private Member member; public void setMemberService(IMemberService memberService) { this.memberService = memberService; } private IMemberService memberService; /** * 退出 * * @return */ public String logout() { getSession().removeAttribute(Constant.MEMBER_SESSION_ID); Cookie[] cookies = getRequest().getCookies(); Cookie member_cookie = null; for (int i = 0; i < cookies.length; i++) { member_cookie = cookies[i]; if (member_cookie != null && StringUtils.isNotBlank(member_cookie.getName()) && StringUtils.isNotBlank(member_cookie.getValue()) && member_cookie.getName().equals( Constant.MEMBER_SESSION_ID)) { member_cookie.setMaxAge(-1);// 设置有效期为-1秒,浏览器会自动删除 getResponse().addCookie(member_cookie); break; } } return SUCCESS; } /** * 用户登陆 * * @return */ public String login() { return "login"; } /** * 处理用户登陆 * * @return */ public String process() { String confirm_code = getRequest().getParameter("confirm_code"); String confirmcode = (String) getSession().getAttribute("confirmcode"); if (StringUtils.isNotBlank(confirm_code) && StringUtils.isNotBlank(confirmcode) && confirm_code.equals(confirmcode)) { String username = getRequest().getParameter("username"); String pwd = getRequest().getParameter("pwd"); String rember_me = getRequest().getParameter("rember_me"); MD5Bean md5 = new MD5Bean(); pwd = md5.MD5Encrypt(pwd); member = memberService.getMember(username); if (member == null) { this.addActionError("不存在该用户,请注册后再登陆!"); return ERROR; } else if (!pwd.equalsIgnoreCase(member.getPwd())) { this.addActionError("密码错误,请重新输入!"); return ERROR; } getSession().setAttribute(Constant.MEMBER_SESSION_ID, member.getUsername()); // 设置cookie if (StringUtils.isNotBlank(rember_me) && rember_me.equalsIgnoreCase("true")) { Cookie cookie = new Cookie(Constant.MEMBER_SESSION_ID, member .getUsername()); cookie.setMaxAge(60 * 60 * 24 * 365); getResponse().addCookie(cookie); } member.setLoged(true); memberService.saveMember(member); } else { this.addActionError("验证码错误,请重新输入!"); return ERROR; } return SUCCESS; } public Member getMember() { return member; } public void setMember(Member member) { this.member = member; }}
Struts配置文件(struts-login.xml):
/WEB-INF/pages/userlogin.jsp login /WEB-INF/pages/userlogin.jsp /WEB-INF/pages/userlogin_msg.jsp
转载地址:http://dzdhb.baihongyu.com/